package org.ragdollcat.first.common;

import java.util.regex.Pattern;

public class ValidationUtil {
    // 用户名正则：只能包含中文、英文，至少1个字符
    public static final Pattern USERNAME_PATTERN = Pattern.compile("^[a-zA-Z\u4e00-\u9fa5]+$");
    
    // 密码正则：必须包含大小写字母和数字，只能有英文和数字
    public static final Pattern PASSWORD_PATTERN = Pattern.compile("^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d]+$");
    
    // 带长度限制的版本（推荐）
    // 用户名：4-20位（中文、英文）
    public static final Pattern USERNAME_WITH_LENGTH_PATTERN = Pattern.compile("^[a-zA-Z0-9\u4e00-\u9fa5]{4,20}$");



    // 密码：8-20位（必须包含大小写字母和数字）
    public static final Pattern PASSWORD_WITH_LENGTH_PATTERN = Pattern.compile("^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d]{8,20}$");
    
    // 校验用户名
    public static boolean isValidUsername(String username) {
        return username != null && USERNAME_WITH_LENGTH_PATTERN.matcher(username).matches();
    }
    
    // 校验密码
    public static boolean isValidPassword(String password) {
        return password != null && PASSWORD_WITH_LENGTH_PATTERN.matcher(password).matches();
    }

    public static void main(String[] args) {
        System.out.println(isValidUsername("test1848"));
    }
}
